package com;

import java.util.ArrayList;
import java.util.Scanner;

public class Housework {
    public static void main(String[] args) {
        ArrayList<Student> arr=new ArrayList<>();
        addStudent(arr);//添加学生
        addStudent(arr);//添加学生
        fillStudent(arr);//查看全部学生
        delStudent(arr);//删除学生
        fillStudent(arr);//查看全部学生
        updateStudent(arr);//根据学号更新学生信息
        fillStudent(arr);//查看全部学生
        isno(arr);//根据学号查看该学生是否存在，任存在则返回该学生在arr的位置
        fillStudent(arr);//查看全部学生
    }
    public static void  addStudent(ArrayList<Student> arr){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要添加的学生学号：");
        String sid=sc.nextLine();
        System.out.println("请输入要添加的学生姓名：");
        String name=sc.nextLine();
        System.out.println("请输入要添加的学生年龄：");
        int age= sc.nextInt();
        arr.add(new Student(sid,name,age));
    }
    public static void  delStudent(ArrayList<Student> arr){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入需要删除的学生学号：");
        String sid = sc.nextLine();
        for (int i =0;i< arr.size();i++){
            if(arr.get(i).getSid().equals(sid)){
                arr.remove(i);
            }else {
                System.out.println("学号输入错误，没有这个学号！！！");
            }
        }
    }
    public static void  fillStudent(ArrayList<Student> arr){
        System.out.println("学号\t姓名\t年龄");
        for (int i =0;i< arr.size();i++){
            System.out.print(arr.get(i).getSid()+"\t");
            System.out.print(arr.get(i).getName()+"\t");
            System.out.println(arr.get(i).getAge()+"岁\t");
        }
    }
    public static void  updateStudent(ArrayList<Student> arr){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入需要更新的学生学号：");
        String sid = sc.nextLine();
        for (int i =0;i< arr.size();i++){
            if(arr.get(i).getSid().equals(sid)){
                System.out.println("请输入你要更改的选项：");
                System.out.println("1.学号");
                System.out.println("2.姓名");
                System.out.println("3.年龄");
                String Options = sc.nextLine();
                switch (Options){
                    case ("1"):
                        System.out.println("学号更改为：");
                        String id = sc.nextLine();
                        arr.get(i).setSid(id);
                        System.out.println("更改成功！！！");
                        break;
                    case ("2"):
                        System.out.println("姓名更改为：");
                        String name = sc.nextLine();
                        arr.get(i).setName(name);
                        System.out.println("更改成功！！！");
                        break;
                    case ("3"):
                        System.out.println("年龄更改为：");
                        int age = sc.nextInt();
                        arr.get(i).setAge(age);
                        System.out.println("更改成功！");
                        break;
                    default:
                        System.out.println("选项选择错误，无此选项！");
                        break;
                }
                break;
            }else {
                System.out.println("学号输入错误，没有该学号！");
            }
        }
    }
    public static int isno(ArrayList<Student> array) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要查询的学生学号：");
        String ids=sc.nextLine();
        int index=0;
        for (int i = 0; i < array.size(); i++) {
            if (array.get(i).getSid().equals(ids)) {
                index=i;
                break;
            }else {
                System.out.println("该学号不存在！");
            }
        }
        return index;
    }
    public static boolean isUse(ArrayList<Student> arr,String sid){
        for(int i=0;i<arr.size();i++){
            //遍历，是否存在，存在则为true
            if (arr.get(i).getSid().equals(sid)){
                return true;
            }
        }
        //便利一遍没有，则置为false
        return false;
    }
}
